package com.thinkin.jdbc.dao;

import java.util.List;

/**
 * 
 * @author cyt
 * 
 * @param <T>
 */
public interface BaseDao<T> {

	/**
	 * 新增实例
	 * 
	 * @param sql
	 * @param param
	 */
	public String add(String sql, Object param[], Boolean blean);

	/**
	 * 修改实例
	 * 
	 * @param sql
	 * @param param
	 */
	public String modify(String sql, Object param[], Boolean blean);

	/**
	 * 根据条件删除
	 * 
	 * @param sql
	 * @param param
	 */
	public String delete(String sql, Object param[], Boolean blean);

	/**
	 * 删除多实例
	 * 
	 * @param sql
	 * @param keyId
	 */
	public void deleteList(String sql, String[] keyId, Boolean blean);

	/**
	 * 删除所有
	 */
	public void deleteAll(String sql, Boolean blean);

	/**
	 * 查询 java.io.Serializable
	 */
	public T find(String sql, String pk, Boolean blean);

	/**
	 * 根据条件查询
	 * 
	 * @param sql
	 * @param param
	 * @return
	 */
	public List<T> findQuery(String sql, Object param[], Boolean blean);

	/**
	 * 根据 SQL 语句 查询
	 * 
	 * @param sql
	 * @param blean
	 * @return
	 */
	public List<T> findQuery(String sql, Boolean blean);

	/**
	 * 获取 GUID
	 * 
	 * @return
	 */
	public String getGUID();

	/**
	 * 获取UUID
	 * 
	 * @return
	 */
	public String getUUID();
}
